home *** CD-ROM | disk | FTP | other *** search
- /*
- File: OTLLCTest.h
-
- Contains: headers, defines for the OTLLCTest.c file
-
- Written by: Rich Kubota
-
- Copyright: Copyright © 1993-1999 by Apple Computer, Inc., All Rights Reserved.
-
- You may incorporate this Apple sample source code into your program(s) without
- restriction. This Apple sample source code has been provided "AS IS" and the
- responsibility for its operation is yours. You are not permitted to redistribute
- this Apple sample source code as "Apple sample source code" after having made
- changes. If you're going to re-distribute the source, we require that you make
- it clear in the source that the code was descended from Apple sample source
- code, but that you've made changes.
-
- Change History (most recent first):
- 7/22/1999 Karl Groethe Updated for Metrowerks Codewarror Pro 2.1
-
-
- */
- #ifndef __OTLLCTEST__
- #define __OTLLCTEST__
-
-
- #ifndef __CONDITIONALMACROS__
- #include <ConditionalMacros.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #include <stdio.h>
- #include <Types.h>
- #include <Memory.h>
- #include <Resources.h>
- #include <Events.h>
- #include <OpenTransport.h> // open transport files
- #include <OpenTptLinks.h>
-
-
- // defines for setting and reading the data buffer
- #define DATASIZE 1500
- #define DATASLOP 50 // extra bytes for the incoming data buffer to hold
- // mentat raw mode header and ethernet header
- #define DATAOFFSET 1400 // first byte in data buffer where we place valid data
-
- #define SENDCOUNT 10005 // number of data packets to send
- #define TRIGGEREND 10000 // trigger point for receiver to end
-
- // define the DSAP
- //#define TESTSAP 0x00FF
- #define TESTSAP 0xE0
- //#define TESTSAP 0xAA
-
- #define MYSNAP0 0x00
- #define MYSNAP1 0x00
- #define MYSNAP2 0x0C
- #define MYSNAP3 0x20
- #define MYSNAP4 0x00
-
- #define TIMEOUT 30 // seconds
- // define the multicast address to use
- #define MCASTADDR0 0x09
- #define MCASTADDR1 0x00
- #define MCASTADDR2 0x2B
- #define MCASTADDR3 0x00
- #define MCASTADDR4 0x00
- #define MCASTADDR5 0x04
-
- // defines for gFlags bits
- #define OTActiveFlag 0
- #define EPActiveFlag 1
- #define EPBoundFlag 2
- #define MCastActiveFlag 3
- #define WantDataFlag 4
- #define StillBindFlag 5
- #define FlowErrFlag 7
- #define FlowClrFlag 8
- #define AckSendsFlag 9
- #define UseAckSendsFlag 10
- #define WaitOptMgmtFlag 11
- #define RawModeFlag 12
- #define UseRawModeFlag 13
- #define SysTaskSendFlag 14
-
-
- // gFlags macros for setting, testing and clearing the flag bits
- #define SetOTActiveFlag(flags) (flags |= 1 << OTActiveFlag)
- #define ClrOTActiveFlag(flags) (flags &= (-1 ^ (1 << OTActiveFlag)))
- #define TstOTActiveFlag(flags) ((flags & (1 << OTActiveFlag)) != 0)
-
- #define SetEPActiveFlag(flags) (flags |= 1 << EPActiveFlag)
- #define ClrEPActiveFlag(flags) (flags &= (-1 ^ (1 << EPActiveFlag)))
- #define TstEPActiveFlag(flags) ((flags & (1 << EPActiveFlag)) != 0)
-
- #define SetEPBoundFlag(flags) (flags |= 1 << EPBoundFlag)
- #define ClrEPBoundFlag(flags) (flags &= (-1 ^ (1 << EPBoundFlag)))
- #define TstEPBoundFlag(flags) ((flags & (1 << EPBoundFlag)) != 0)
-
- #define SetMCastActiveFlag(flags) (flags |= 1 << MCastActiveFlag)
- #define ClrMCastActiveFlag(flags) (flags &= (-1 ^ (1 << MCastActiveFlag)))
- #define TstMCastActiveFlag(flags) ((flags & (1 << MCastActiveFlag)) != 0)
-
- #define SetWantDataFlag(flags) (flags |= 1 << WantDataFlag)
- #define ClrWantDataFlag(flags) (flags &= (-1 ^ (1 << WantDataFlag)))
- #define TstWantDataFlag(flags) ((flags & (1 << WantDataFlag)) != 0)
-
- #define SetStillBindFlag(flags) (flags |= 1 << StillBindFlag)
- #define ClrStillBindFlag(flags) (flags &= (-1 ^ (1 << StillBindFlag)))
- #define TstStillBindFlag(flags) ((flags & (1 << StillBindFlag)) != 0)
-
- #define SetFlowErrFlag(flags) (flags |= 1 << FlowErrFlag)
- #define ClrFlowErrFlag(flags) (flags &= (-1 ^ (1 << FlowErrFlag)))
- #define TstFlowErrFlag(flags) ((flags & (1 << FlowErrFlag)) != 0)
-
- #define SetFlowClrFlag(flags) (flags |= 1 << FlowClrFlag)
- #define ClrFlowClrFlag(flags) (flags &= (-1 ^ (1 << FlowClrFlag)))
- #define TstFlowClrFlag(flags) ((flags & (1 << FlowClrFlag)) != 0)
-
- #define SetAckSendsFlag(flags) (flags |= 1 << AckSendsFlag)
- #define ClrAckSendsFlag(flags) (flags &= (-1 ^ (1 << AckSendsFlag)))
- #define TstAckSendsFlag(flags) ((flags & (1 << AckSendsFlag)) != 0)
-
- #define SetUseAckSendsFlag(flags) (flags |= 1 << UseAckSendsFlag)
- #define ClrUseAckSendsFlag(flags) (flags &= (-1 ^ (1 << UseAckSendsFlag)))
- #define TstUseAckSendsFlag(flags) ((flags & (1 << UseAckSendsFlag)) != 0)
-
- #define SetWaitOptMgmtFlag(flags) (flags |= 1 << WaitOptMgmtFlag)
- #define ClrWaitOptMgmtFlag(flags) (flags &= (-1 ^ (1 << WaitOptMgmtFlag)))
- #define TstWaitOptMgmtFlag(flags) ((flags & (1 << WaitOptMgmtFlag)) != 0)
-
- #define SetRawModeFlag(flags) (flags |= 1 << RawModeFlag)
- #define ClrRawModeFlag(flags) (flags &= (-1 ^ (1 << RawModeFlag)))
- #define TstRawModeFlag(flags) ((flags & (1 << RawModeFlag)) != 0)
-
- #define SetUseRawModeFlag(flags) (flags |= 1 << UseRawModeFlag)
- #define ClrUseRawModeFlag(flags) (flags &= (-1 ^ (1 << UseRawModeFlag)))
- #define TstUseRawModeFlag(flags) ((flags & (1 << UseRawModeFlag)) != 0)
-
- #define SetSysTaskSendFlag(flags) (flags |= 1 << SysTaskSendFlag)
- #define ClrSysTaskSendFlag(flags) (flags &= (-1 ^ (1 << SysTaskSendFlag)))
- #define TstSysTaskSendFlag(flags) ((flags & (1 << SysTaskSendFlag)) != 0)
-
- #define kInSendPacketBit 0x01
-
- enum {
- kSendTest = 1,
- kReceiveTest,
- kAcceptOption,
- kDeclineOption,
- kQuitTest
- } TestTypes;
-
- struct Address8022 {
- OTAddressType fAddrFamily;
- UInt8 fHWAddr[k48BitAddrLength];
- UInt16 fSAP;
- };
- typedef struct Address8022 Address8022;
-
- struct PacketBuffer {
- UInt32 rawModeOffset;
- UInt32 i;
- UInt32 lastFlowErrPacketNum;
- TUnitData unitdata;
- struct T8022Address dAddr;
- UInt8 data[DATASIZE+32];
- };
-
- typedef struct PacketBuffer PacketBuffer;
- typedef struct PacketBuffer *PacketBufPtr;
-
-
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __OTLLCTEST__ */
-